package com.blade.workstation.product.controller;

import com.blade.workstation.common.R;
import com.blade.workstation.product.dto.ProductDTO;
import com.blade.workstation.product.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 产品信息控制器
 * 提供产品信息相关的API接口
 */
@RestController
@RequestMapping("/api/product")
public class ProductController {

    @Autowired
    private ProductService productService;

    /**
     * 根据产品条码查询产品信息
     * @param barcode 产品条码（必填）
     * @return R<ProductDTO> 统一响应结果
     */
    @GetMapping("/getByBarcode")
    public R<ProductDTO> getProductByBarcode(@RequestParam String barcode) {
        try {
            // 参数校验
            if (barcode == null || barcode.trim().isEmpty()) {
                return R.fail("条码不能为空");
            }

            // 查询产品信息
            ProductDTO product = productService.getProductByBarcode(barcode);
            
            // 判断查询结果
            if (product == null) {
                return R.fail("未找到该条码对应的产品信息");
            }

            return R.ok(product, "查询成功");
            
        } catch (Exception e) {
            return R.fail("查询失败：" + e.getMessage());
        }
    }
}

